package org.easy.eao.spring.hibernate;

import java.io.Serializable;
import java.util.List;
import java.util.Set;

import org.easy.eao.annotations.Retrieve;

public interface RetrieveGenericEao<T1, PK1 extends Serializable, T2, PK2 extends Serializable> {
	
	@Retrieve
	T1 generic_single_entity(PK1 id);
	
	@Retrieve
	T1[] generic_variable(PK1...ids);
	
	@Retrieve
	T2[] generic_array(PK2[] array);
	
	@Retrieve
	List<T1> generic_list(List<PK1> ids);

	@Retrieve
	Set<T2> generic_set(Set<PK2> ids);

}
